package br.org.furb.compilador.model.analisador;

public interface ScannerConstants
{
    int[] SCANNER_TABLE_INDEXES = 
    {
        0,
        83,
        87,
        88,
        280,
        281,
        281,
        281,
        281,
        281,
        281,
        281,
        282,
        283,
        294,
        294,
        295,
        296,
        297,
        360,
        412,
        605,
        606,
        606,
        606,
        608,
        608,
        800,
        810,
        821,
        821,
        821,
        821,
        873,
        873,
        873,
        883,
        894,
        904,
        914,
        925,
        935,
        945,
        954,
        963,
        963
    };

    int[][] SCANNER_TABLE = 
    {
        {9, 1},
        {10, 1},
        {13, 1},
        {32, 1},
        {33, 2},
        {34, 3},
        {38, 4},
        {40, 5},
        {41, 6},
        {42, 7},
        {43, 8},
        {44, 9},
        {45, 10},
        {47, 11},
        {48, 12},
        {49, 13},
        {50, 13},
        {51, 13},
        {52, 13},
        {53, 13},
        {54, 13},
        {55, 13},
        {56, 13},
        {57, 13},
        {59, 14},
        {60, 15},
        {61, 16},
        {62, 17},
        {65, 18},
        {66, 18},
        {67, 18},
        {68, 18},
        {69, 18},
        {70, 18},
        {71, 18},
        {72, 18},
        {73, 18},
        {74, 18},
        {75, 18},
        {76, 18},
        {77, 18},
        {78, 18},
        {79, 18},
        {80, 18},
        {81, 18},
        {82, 18},
        {83, 18},
        {84, 18},
        {85, 18},
        {86, 18},
        {87, 18},
        {88, 18},
        {89, 18},
        {90, 18},
        {95, 19},
        {97, 18},
        {98, 18},
        {99, 18},
        {100, 18},
        {101, 18},
        {102, 18},
        {103, 18},
        {104, 18},
        {105, 18},
        {106, 18},
        {107, 18},
        {108, 18},
        {109, 18},
        {110, 18},
        {111, 18},
        {112, 18},
        {113, 18},
        {114, 18},
        {115, 18},
        {116, 18},
        {117, 18},
        {118, 18},
        {119, 18},
        {120, 18},
        {121, 18},
        {122, 18},
        {123, 20},
        {124, 21},
        {9, 1},
        {10, 1},
        {13, 1},
        {32, 1},
        {61, 22},
        {9, 3},
        {13, 3},
        {32, 3},
        {33, 3},
        {34, 23},
        {35, 3},
        {36, 3},
        {37, 3},
        {38, 3},
        {39, 3},
        {40, 3},
        {41, 3},
        {42, 3},
        {43, 3},
        {44, 3},
        {45, 3},
        {46, 3},
        {47, 3},
        {48, 3},
        {49, 3},
        {50, 3},
        {51, 3},
        {52, 3},
        {53, 3},
        {54, 3},
        {55, 3},
        {56, 3},
        {57, 3},
        {58, 3},
        {59, 3},
        {60, 3},
        {61, 3},
        {62, 3},
        {63, 3},
        {64, 3},
        {65, 3},
        {66, 3},
        {67, 3},
        {68, 3},
        {69, 3},
        {70, 3},
        {71, 3},
        {72, 3},
        {73, 3},
        {74, 3},
        {75, 3},
        {76, 3},
        {77, 3},
        {78, 3},
        {79, 3},
        {80, 3},
        {81, 3},
        {82, 3},
        {83, 3},
        {84, 3},
        {85, 3},
        {86, 3},
        {87, 3},
        {88, 3},
        {89, 3},
        {90, 3},
        {91, 3},
        {92, 24},
        {93, 3},
        {94, 3},
        {95, 3},
        {96, 3},
        {97, 3},
        {98, 3},
        {99, 3},
        {100, 3},
        {101, 3},
        {102, 3},
        {103, 3},
        {104, 3},
        {105, 3},
        {106, 3},
        {107, 3},
        {108, 3},
        {109, 3},
        {110, 3},
        {111, 3},
        {112, 3},
        {113, 3},
        {114, 3},
        {115, 3},
        {116, 3},
        {117, 3},
        {118, 3},
        {119, 3},
        {120, 3},
        {121, 3},
        {122, 3},
        {123, 3},
        {124, 3},
        {125, 3},
        {126, 3},
        {161, 3},
        {162, 3},
        {163, 3},
        {164, 3},
        {165, 3},
        {166, 3},
        {167, 3},
        {168, 3},
        {169, 3},
        {170, 3},
        {171, 3},
        {172, 3},
        {173, 3},
        {174, 3},
        {175, 3},
        {176, 3},
        {177, 3},
        {178, 3},
        {179, 3},
        {180, 3},
        {181, 3},
        {182, 3},
        {183, 3},
        {184, 3},
        {185, 3},
        {186, 3},
        {187, 3},
        {188, 3},
        {189, 3},
        {190, 3},
        {191, 3},
        {192, 3},
        {193, 3},
        {194, 3},
        {195, 3},
        {196, 3},
        {197, 3},
        {198, 3},
        {199, 3},
        {200, 3},
        {201, 3},
        {202, 3},
        {203, 3},
        {204, 3},
        {205, 3},
        {206, 3},
        {207, 3},
        {208, 3},
        {209, 3},
        {210, 3},
        {211, 3},
        {212, 3},
        {213, 3},
        {214, 3},
        {215, 3},
        {216, 3},
        {217, 3},
        {218, 3},
        {219, 3},
        {220, 3},
        {221, 3},
        {222, 3},
        {223, 3},
        {224, 3},
        {225, 3},
        {226, 3},
        {227, 3},
        {228, 3},
        {229, 3},
        {230, 3},
        {231, 3},
        {232, 3},
        {233, 3},
        {234, 3},
        {235, 3},
        {236, 3},
        {237, 3},
        {238, 3},
        {239, 3},
        {240, 3},
        {241, 3},
        {242, 3},
        {243, 3},
        {244, 3},
        {245, 3},
        {246, 3},
        {247, 3},
        {248, 3},
        {249, 3},
        {250, 3},
        {251, 3},
        {252, 3},
        {253, 3},
        {254, 3},
        {255, 3},
        {38, 25},
        {47, 26},
        {44, 27},
        {44, 27},
        {48, 28},
        {49, 28},
        {50, 28},
        {51, 28},
        {52, 28},
        {53, 28},
        {54, 28},
        {55, 28},
        {56, 28},
        {57, 28},
        {61, 29},
        {61, 30},
        {61, 31},
        {48, 18},
        {49, 18},
        {50, 18},
        {51, 18},
        {52, 18},
        {53, 18},
        {54, 18},
        {55, 18},
        {56, 18},
        {57, 18},
        {65, 18},
        {66, 18},
        {67, 18},
        {68, 18},
        {69, 18},
        {70, 18},
        {71, 18},
        {72, 18},
        {73, 18},
        {74, 18},
        {75, 18},
        {76, 18},
        {77, 18},
        {78, 18},
        {79, 18},
        {80, 18},
        {81, 18},
        {82, 18},
        {83, 18},
        {84, 18},
        {85, 18},
        {86, 18},
        {87, 18},
        {88, 18},
        {89, 18},
        {90, 18},
        {95, 32},
        {97, 18},
        {98, 18},
        {99, 18},
        {100, 18},
        {101, 18},
        {102, 18},
        {103, 18},
        {104, 18},
        {105, 18},
        {106, 18},
        {107, 18},
        {108, 18},
        {109, 18},
        {110, 18},
        {111, 18},
        {112, 18},
        {113, 18},
        {114, 18},
        {115, 18},
        {116, 18},
        {117, 18},
        {118, 18},
        {119, 18},
        {120, 18},
        {121, 18},
        {122, 18},
        {65, 18},
        {66, 18},
        {67, 18},
        {68, 18},
        {69, 18},
        {70, 18},
        {71, 18},
        {72, 18},
        {73, 18},
        {74, 18},
        {75, 18},
        {76, 18},
        {77, 18},
        {78, 18},
        {79, 18},
        {80, 18},
        {81, 18},
        {82, 18},
        {83, 18},
        {84, 18},
        {85, 18},
        {86, 18},
        {87, 18},
        {88, 18},
        {89, 18},
        {90, 18},
        {97, 18},
        {98, 18},
        {99, 18},
        {100, 18},
        {101, 18},
        {102, 18},
        {103, 18},
        {104, 18},
        {105, 18},
        {106, 18},
        {107, 18},
        {108, 18},
        {109, 18},
        {110, 18},
        {111, 18},
        {112, 18},
        {113, 18},
        {114, 18},
        {115, 18},
        {116, 18},
        {117, 18},
        {118, 18},
        {119, 18},
        {120, 18},
        {121, 18},
        {122, 18},
        {9, 20},
        {10, 20},
        {13, 20},
        {32, 20},
        {33, 20},
        {34, 20},
        {35, 20},
        {36, 20},
        {37, 20},
        {38, 20},
        {39, 20},
        {40, 20},
        {41, 20},
        {42, 20},
        {43, 20},
        {44, 20},
        {45, 20},
        {46, 20},
        {47, 20},
        {48, 20},
        {49, 20},
        {50, 20},
        {51, 20},
        {52, 20},
        {53, 20},
        {54, 20},
        {55, 20},
        {56, 20},
        {57, 20},
        {58, 20},
        {59, 20},
        {60, 20},
        {61, 20},
        {62, 20},
        {63, 20},
        {64, 20},
        {65, 20},
        {66, 20},
        {67, 20},
        {68, 20},
        {69, 20},
        {70, 20},
        {71, 20},
        {72, 20},
        {73, 20},
        {74, 20},
        {75, 20},
        {76, 20},
        {77, 20},
        {78, 20},
        {79, 20},
        {80, 20},
        {81, 20},
        {82, 20},
        {83, 20},
        {84, 20},
        {85, 20},
        {86, 20},
        {87, 20},
        {88, 20},
        {89, 20},
        {90, 20},
        {91, 20},
        {92, 20},
        {93, 20},
        {94, 20},
        {95, 20},
        {96, 20},
        {97, 20},
        {98, 20},
        {99, 20},
        {100, 20},
        {101, 20},
        {102, 20},
        {103, 20},
        {104, 20},
        {105, 20},
        {106, 20},
        {107, 20},
        {108, 20},
        {109, 20},
        {110, 20},
        {111, 20},
        {112, 20},
        {113, 20},
        {114, 20},
        {115, 20},
        {116, 20},
        {117, 20},
        {118, 20},
        {119, 20},
        {120, 20},
        {121, 20},
        {122, 20},
        {123, 20},
        {124, 20},
        {125, 33},
        {126, 20},
        {161, 20},
        {162, 20},
        {163, 20},
        {164, 20},
        {165, 20},
        {166, 20},
        {167, 20},
        {168, 20},
        {169, 20},
        {170, 20},
        {171, 20},
        {172, 20},
        {173, 20},
        {174, 20},
        {175, 20},
        {176, 20},
        {177, 20},
        {178, 20},
        {179, 20},
        {180, 20},
        {181, 20},
        {182, 20},
        {183, 20},
        {184, 20},
        {185, 20},
        {186, 20},
        {187, 20},
        {188, 20},
        {189, 20},
        {190, 20},
        {191, 20},
        {192, 20},
        {193, 20},
        {194, 20},
        {195, 20},
        {196, 20},
        {197, 20},
        {198, 20},
        {199, 20},
        {200, 20},
        {201, 20},
        {202, 20},
        {203, 20},
        {204, 20},
        {205, 20},
        {206, 20},
        {207, 20},
        {208, 20},
        {209, 20},
        {210, 20},
        {211, 20},
        {212, 20},
        {213, 20},
        {214, 20},
        {215, 20},
        {216, 20},
        {217, 20},
        {218, 20},
        {219, 20},
        {220, 20},
        {221, 20},
        {222, 20},
        {223, 20},
        {224, 20},
        {225, 20},
        {226, 20},
        {227, 20},
        {228, 20},
        {229, 20},
        {230, 20},
        {231, 20},
        {232, 20},
        {233, 20},
        {234, 20},
        {235, 20},
        {236, 20},
        {237, 20},
        {238, 20},
        {239, 20},
        {240, 20},
        {241, 20},
        {242, 20},
        {243, 20},
        {244, 20},
        {245, 20},
        {246, 20},
        {247, 20},
        {248, 20},
        {249, 20},
        {250, 20},
        {251, 20},
        {252, 20},
        {253, 20},
        {254, 20},
        {255, 20},
        {124, 34},
        {34, 3},
        {92, 3},
        {9, 26},
        {13, 26},
        {32, 26},
        {33, 26},
        {34, 26},
        {35, 26},
        {36, 26},
        {37, 26},
        {38, 26},
        {39, 26},
        {40, 26},
        {41, 26},
        {42, 26},
        {43, 26},
        {44, 26},
        {45, 26},
        {46, 26},
        {47, 26},
        {48, 26},
        {49, 26},
        {50, 26},
        {51, 26},
        {52, 26},
        {53, 26},
        {54, 26},
        {55, 26},
        {56, 26},
        {57, 26},
        {58, 26},
        {59, 26},
        {60, 26},
        {61, 26},
        {62, 26},
        {63, 26},
        {64, 26},
        {65, 26},
        {66, 26},
        {67, 26},
        {68, 26},
        {69, 26},
        {70, 26},
        {71, 26},
        {72, 26},
        {73, 26},
        {74, 26},
        {75, 26},
        {76, 26},
        {77, 26},
        {78, 26},
        {79, 26},
        {80, 26},
        {81, 26},
        {82, 26},
        {83, 26},
        {84, 26},
        {85, 26},
        {86, 26},
        {87, 26},
        {88, 26},
        {89, 26},
        {90, 26},
        {91, 26},
        {92, 26},
        {93, 26},
        {94, 26},
        {95, 26},
        {96, 26},
        {97, 26},
        {98, 26},
        {99, 26},
        {100, 26},
        {101, 26},
        {102, 26},
        {103, 26},
        {104, 26},
        {105, 26},
        {106, 26},
        {107, 26},
        {108, 26},
        {109, 26},
        {110, 26},
        {111, 26},
        {112, 26},
        {113, 26},
        {114, 26},
        {115, 26},
        {116, 26},
        {117, 26},
        {118, 26},
        {119, 26},
        {120, 26},
        {121, 26},
        {122, 26},
        {123, 26},
        {124, 26},
        {125, 26},
        {126, 26},
        {161, 26},
        {162, 26},
        {163, 26},
        {164, 26},
        {165, 26},
        {166, 26},
        {167, 26},
        {168, 26},
        {169, 26},
        {170, 26},
        {171, 26},
        {172, 26},
        {173, 26},
        {174, 26},
        {175, 26},
        {176, 26},
        {177, 26},
        {178, 26},
        {179, 26},
        {180, 26},
        {181, 26},
        {182, 26},
        {183, 26},
        {184, 26},
        {185, 26},
        {186, 26},
        {187, 26},
        {188, 26},
        {189, 26},
        {190, 26},
        {191, 26},
        {192, 26},
        {193, 26},
        {194, 26},
        {195, 26},
        {196, 26},
        {197, 26},
        {198, 26},
        {199, 26},
        {200, 26},
        {201, 26},
        {202, 26},
        {203, 26},
        {204, 26},
        {205, 26},
        {206, 26},
        {207, 26},
        {208, 26},
        {209, 26},
        {210, 26},
        {211, 26},
        {212, 26},
        {213, 26},
        {214, 26},
        {215, 26},
        {216, 26},
        {217, 26},
        {218, 26},
        {219, 26},
        {220, 26},
        {221, 26},
        {222, 26},
        {223, 26},
        {224, 26},
        {225, 26},
        {226, 26},
        {227, 26},
        {228, 26},
        {229, 26},
        {230, 26},
        {231, 26},
        {232, 26},
        {233, 26},
        {234, 26},
        {235, 26},
        {236, 26},
        {237, 26},
        {238, 26},
        {239, 26},
        {240, 26},
        {241, 26},
        {242, 26},
        {243, 26},
        {244, 26},
        {245, 26},
        {246, 26},
        {247, 26},
        {248, 26},
        {249, 26},
        {250, 26},
        {251, 26},
        {252, 26},
        {253, 26},
        {254, 26},
        {255, 26},
        {48, 35},
        {49, 35},
        {50, 35},
        {51, 35},
        {52, 35},
        {53, 35},
        {54, 35},
        {55, 35},
        {56, 35},
        {57, 35},
        {44, 27},
        {48, 36},
        {49, 36},
        {50, 36},
        {51, 36},
        {52, 36},
        {53, 36},
        {54, 36},
        {55, 36},
        {56, 36},
        {57, 36},
        {65, 18},
        {66, 18},
        {67, 18},
        {68, 18},
        {69, 18},
        {70, 18},
        {71, 18},
        {72, 18},
        {73, 18},
        {74, 18},
        {75, 18},
        {76, 18},
        {77, 18},
        {78, 18},
        {79, 18},
        {80, 18},
        {81, 18},
        {82, 18},
        {83, 18},
        {84, 18},
        {85, 18},
        {86, 18},
        {87, 18},
        {88, 18},
        {89, 18},
        {90, 18},
        {97, 18},
        {98, 18},
        {99, 18},
        {100, 18},
        {101, 18},
        {102, 18},
        {103, 18},
        {104, 18},
        {105, 18},
        {106, 18},
        {107, 18},
        {108, 18},
        {109, 18},
        {110, 18},
        {111, 18},
        {112, 18},
        {113, 18},
        {114, 18},
        {115, 18},
        {116, 18},
        {117, 18},
        {118, 18},
        {119, 18},
        {120, 18},
        {121, 18},
        {122, 18},
        {48, 37},
        {49, 38},
        {50, 38},
        {51, 38},
        {52, 38},
        {53, 38},
        {54, 38},
        {55, 38},
        {56, 38},
        {57, 38},
        {44, 27},
        {48, 39},
        {49, 39},
        {50, 39},
        {51, 39},
        {52, 39},
        {53, 39},
        {54, 39},
        {55, 39},
        {56, 39},
        {57, 39},
        {48, 40},
        {49, 41},
        {50, 41},
        {51, 41},
        {52, 41},
        {53, 41},
        {54, 41},
        {55, 41},
        {56, 41},
        {57, 41},
        {48, 40},
        {49, 41},
        {50, 41},
        {51, 41},
        {52, 41},
        {53, 41},
        {54, 41},
        {55, 41},
        {56, 41},
        {57, 41},
        {44, 27},
        {48, 12},
        {49, 12},
        {50, 12},
        {51, 12},
        {52, 12},
        {53, 12},
        {54, 12},
        {55, 12},
        {56, 12},
        {57, 12},
        {48, 42},
        {49, 43},
        {50, 43},
        {51, 43},
        {52, 43},
        {53, 43},
        {54, 43},
        {55, 43},
        {56, 43},
        {57, 43},
        {48, 42},
        {49, 43},
        {50, 43},
        {51, 43},
        {52, 43},
        {53, 43},
        {54, 43},
        {55, 43},
        {56, 43},
        {57, 43},
        {49, 44},
        {50, 44},
        {51, 44},
        {52, 44},
        {53, 44},
        {54, 44},
        {55, 44},
        {56, 44},
        {57, 44},
        {49, 44},
        {50, 44},
        {51, 44},
        {52, 44},
        {53, 44},
        {54, 44},
        {55, 44},
        {56, 44},
        {57, 44}
    };

    int[] TOKEN_STATE = { 0,  0, 13, -1, -1, 22, 23,  8,  6, 20,  7,  9,  3,  3, 21, 16, 10, 18,  2, -1, -2, -1, 15,  5, -1, 11,  0, -1,  3, 17, 14, 19, -1,  0, 12,  4,  3, -1,  4,  3, -1,  4, -1,  4,  4 };

    int[] SPECIAL_CASES_INDEXES =
        { 0, 0, 0, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19 };

    String[] SPECIAL_CASES_KEYS =
        {  "BOOLEAN", "DO", "ELSE", "END", "FALSE", "FLOAT", "GLOBAL", "IF", "INTEGER", "LOCAL", "MAIN", "PRINT", "PRINTLN", "RETURN", "SCAN", "STRING", "TRUE", "VOID", "WHILE" };

    int[] SPECIAL_CASES_VALUES =
        {  24, 25, 26, 27, 28, 29, 40, 30, 31, 41, 32, 33, 34, 42, 35, 36, 37, 38, 39 };

    String[] SCANNER_ERROR =
    {
        "símbolo inválido",
        "",
        "",
        "constante literal não finalizada",
        "símbolo inválido deve-se usar da seguinte maneira \"&&\"",
        "",
        "",
        "",
        "",
        "",
        "",
        "",
        "",
        "",
        "",
        "",
        "",
        "",
        "",
        "identificador inválido [regra: ({letra}|_{letra})({letra}|{digito}|_{letra})* ]",
        "comentário de bloco não finalizado",
        "símbolo inválido deve-se usar da seguinte maneira \"||\"",
        "",
        "",
        "constante literal não finalizada",
        "",
        "",
        "constante float incorreta",
        "",
        "",
        "",
        "",
        "identificador inválido [regra: ({letra}|_{letra})({letra}|{digito}|_{letra})* ]",
        "",
        "",
        "",
        "",
        "constante float incorreta",
        "",
        "",
        "constante float incorreta",
        "",
        "constante float incorreta",
        "",
        ""
    };

}
